package com.xinzhidi.web.plot.domain.dto;

import com.xinzhidi.common.annotation.Excel;
import com.xinzhidi.common.enums.DictTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;
import java.math.BigDecimal;


/**
 * 小区UpdDto对象 c_plot
 *
 * @author ruoyi
 * @date 2023-05-19
 */
@ApiModel(value = "小区UpdDto对象")
@Data
@EqualsAndHashCode(callSuper = false)
public class CPlotUpdDto {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "小区id")
    @NotNull(message = "小区id不能为空")
    @Min(value = 0, message = "小区id不能比0小")
    private Long id;

    @ApiModelProperty(value = "小区名称")
    @NotBlank(message = "小区名称不能为空")
    @Size(max = 100, message = "小区名称长度不能大于100")
    private String parkName;

    @ApiModelProperty(value = "详细地址")
    @NotBlank(message = "详细地址不能为空")
    @Size(max = 100, message = "详细地址长度不能大于100")
    private String address;

    @ApiModelProperty(value = "楼栋数")
    private Long buildNumber;

    @ApiModelProperty(value = "热计量方式")
    @Excel(name = "热计量方式",dictType = DictTypeEnum.SYS_HEAT_METER)
    private String heatMeter;

    @ApiModelProperty(value = "供热用户")
    private Long heatUser;

    @ApiModelProperty(value = "供热面积")
    private BigDecimal heatArea;

    @ApiModelProperty(value = "面积单价")
    private BigDecimal areaPrice;

    @ApiModelProperty(value = "热量单价")
    private BigDecimal heatPrice;

    @ApiModelProperty(value = "所属物业")
    @NotBlank(message = "所属物业不能为空")
    @Size(max = 100, message = "所属物业长度不能大于100")
    private String ownProperty;

    @ApiModelProperty(value = "供热公司")
    @NotBlank(message = "供热公司不能为空")
    @Size(max = 100, message = "供热公司长度不能大于100")
    private String heatCompany;

    @ApiModelProperty(value = "省")
    @NotBlank(message = "省不能为空")
    @Size(max = 100, message = "省长度不能大于100")
    private String province;

    @ApiModelProperty(value = "市")
    @NotBlank(message = "市不能为空")
    @Size(max = 100, message = "市长度不能大于100")
    private String city;

    @ApiModelProperty(value = "区/县")
    @NotBlank(message = "区/县不能为空")
    @Size(max = 100, message = "区/县长度不能大于100")
    private String area;

    @ApiModelProperty(value = "模型id")
    @NotEmpty(message = "模型不能为空")
    private String modelIds;

    @ApiModelProperty(value = "自动抄表时间间隔（单位：小时）")
    @NotNull(message = "自动抄表时间间隔不能为空")
    private Integer intervalTime;

}
